package cn.jingyuan.swan.cloud.mapping;

import java.util.Collection;

/**
 * 资源（api）扫描处理器
 */
public interface ApiResourceScanHandler {

    /**
     * 获取扫描启用状态
     *
     * @return 启用状态
     */
    boolean getScanState();

    /**
     * 禁用扫描
     */
    void disableScan();

    /**
     * 启用扫描
     */
    void enableScan();

    /**
     * 添加忽略扫描的资源
     *
     * @param urls 忽略的资源
     */
    void addIgnoreScanUrls(Collection<String> urls);

    /**
     * 获取忽略扫描的资源
     *
     * @return
     */
    Collection<String> getIgnoreScanUrls();

    /**
     * 获取服务标识
     *
     * @return 服务标识
     */
    String getServiceId();

    /**
     * 设置服务标识
     *
     * @param serviceId 服务标识
     */
    void setServiceId(String serviceId);

    /**
     * 获取项目路径
     *
     * @return 项目路径
     */
    String getContextPath();

    /**
     * 设置项目路径
     *
     * @param contextPath 项目路径
     */
    void setContextPath(String contextPath);

}
